package 力扣周赛;


import java.util.*;

public class LeetCode6041_多个数组求交集 {
    public List<Integer> intersection(int[][] nums) {
        List<Integer> list = new ArrayList<Integer>();
        if(nums.length == 0) {
            return list;
        }
        Map<Integer,Integer> map = new HashMap<>();

        for(int i = 0; i < nums[0].length; i++) {
            map.put(nums[0][i], 1);
        }
        for(int i = 1; i < nums.length; i++) {
            for(int j = 0; j < nums[i].length; j++) {
                if(map.containsKey(nums[i][j])) {
                    map.put(nums[i][j], map.get(nums[i][j])+1);
                }
            }
        }
        int n = nums.length;

        for (int i = 0; i < nums[0].length; i++) {
            if(map.get(nums[0][i]) == n) {
                list.add(nums[0][i]);
            }
        }
        int[] arr = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            arr[i] = list.get(i);
        }
        Arrays.sort(arr);
        List<Integer> result = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            result.add(arr[i]);
        }
        return result;
    }
}
